<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://java.sun.com/jsf/html"
      xmlns:p="http://primefaces.org/ui"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:ui="http://java.sun.com/jsf/facelets">
    
    <ui:composition template="templatePadrao.xhtml"> 
                
            <ui:define name="top">       
                <ui:include src="menu.xhtml" />
            </ui:define>        
        
        <ui:define name="content">   

            <h:form id="formMessages">
                <p:growl id="messages" widgetVar="messages" showDetail="true" life="5000" sticky="false" autoUpdate="true" />                  
            </h:form>
            
            <h:form id="principal" prependId="false">
                
                <p:contextMenu for="unidades">                      
                     <p:menuitem value="Deletar" update="unidades" icon="ui-icon-close" onclick="confirmation.show()"/>  
                     <p:menuitem value="Editar"  update="principal" icon="ui-icon-arrowrefresh-1-w" actionListener="#{UnidadeController.preparaEdicao()}"/>
                </p:contextMenu>                
                
                <p:fieldset legend="Unidade">
                    
                    <p:panelGrid id="padrao" columns="4" style="width: 100%;" styleClass="usuarioGrid">
                        
                             <p:outputLabel>Unidade *</p:outputLabel>
                             <p:inputText id="nome_unidade" value="#{UnidadeController.unidade.nome}" size="60" maxlength="60" title="Informe o nome da unidade" />                                                        
                        
                    </p:panelGrid>                                    
                
                    <p:commandButton value="Salvar" update="principal" actionListener="#{UnidadeController.preparaInclusao()}"/>
                    <p:commandButton value="Cancelar"  process="@form" update="principal" actionListener="#{UnidadeController.resetUnidade()}" />
               
               </p:fieldset>
               
                <p:dataTable id="unidades" var="unidade" emptyMessage="Não existem Unidades cadastradas" 
                             value="#{UnidadeController.lista}" rowKey="#{unidade.id}" 
                             selectionMode="single" selection="#{UnidadeController.unidadeSelecionada}" 
                             paginator="true" rows="10">
                   
                    <p:column>   
                        <f:facet name="header">  
                                <h:outputText value="Id" />  
                        </f:facet>  
                            <h:outputText value="#{unidade.id}"/>
                    </p:column>                    

                    <p:column>   
                        <f:facet name="header">  
                                <h:outputText value="Nome" />  
                        </f:facet>  
                            <h:outputText value="#{unidade.nome}"/>
                    </p:column>                   
                   
               </p:dataTable> 
                
               <p:commandButton value="Deletar" id="deletarUnidade" update="principal" onclick="confirmation.show()"/>
               <p:commandButton value="Editar"  id="editarUnidade" update="principal" actionListener="#{UnidadeController.preparaEdicao()}"/>
   
            </h:form>
            
        <!-- Abaixo temos um modal de confirmação de exclusão repare que ele é fora do form principal, pois se colocarmos dentro podemos ter alguns problemas com isso.-->
        <h:form id="dlg" prependId="false">
            <p:confirmDialog message="Deseja realmente excluir este registro?" header="Aviso" severity="alert" widgetVar="confirmation" modal="true">
                <!--caso seja sim chamo o metodo excluir, e fecho o modal com o oncomplete, tenho o process que estou dizendo para processar o form, e update para atualizar a tabela-->
                <p:commandButton id="btnSim" value="Sim" oncomplete="confirmation.hide();" actionListener="#{UnidadeController.deleteUnidade()}" process="@form" update=":principal:unidades" />
                <!--caso seja não somente fecha o modal-->
                <p:commandButton id="btnNao" value="Não" onclick="confirmation.hide();" type="button"/>
            </p:confirmDialog>                    
            
        </h:form>             

        </ui:define>
        
    </ui:composition>
        
</html>